1. Field of Invention
The present invention relates generally to the field of information distribution across a network. More particularly, the present invention is related in one exemplary aspect to the distribution of information across a content-based and data network having a set of electronic devices with at least some heterogeneous capabilities.
2. Description of Related Technology
Digital Television
Digital TV (DTV) is a technology which utilizes digitized and compressed data formats (e.g., MPEG) for content transmission, as compared to earlier analog “uncompressed” approaches (e.g., NTSC). The DTV content may be distributed across any number of different types of bearer media or networks with sufficient bandwidth, including HFC, satellite, wireless, or terrestrial.
DTV broadcasts are generally more efficient and more flexible than analog methods. For example, the bandwidth required to transmit video programming using DTV is less than the bandwidth required using analog methods, assuming similar quality of video (and audio). Thus, more video programming can generally be transmitted with a given bandwidth when DTV methods are employed.
DTV standards such as the OpenCable™ Application Platform (OCAP) middleware specification (e.g., Version 1.0, and Version 2.0) require that applications be downloaded to host devices from the bearer or broadcast network in real-time. The OCAP specification is a middleware software layer specification intended to enable the developers of interactive television services and applications to design such products so that they will run successfully on any cable television system in North America, independent of set-top or television receiver hardware or operating system software choices.
The aforementioned OpenCable standard also sets forth a Host Core Functional Requirements specification which defines optional circuitry for digital video recorders (DVRs), and digital video interfaces (DVIs); see, e.g., the OpenCable Host Device Core Functional Requirements OC-SP-HOST-CFR-I13-030707 specification (now OC-SP-HOST-CFR-I14-030905 dated Sep. 5, 2003).
DVR technology provides selective recording, playback, and manipulation (e.g., storage, processing, editing, etc.) of digital format content. For example, the services offered by the Assignee hereof in conjunction with exemplary Scientific Atlanta Explorer 8000 Digital Video Recorder set top box equipment (and associated high capacity mass storage device) are representative of this technology.
Personal video recording (PVR) functionality is essentially a subset of DVR technology, wherein individual users, e.g., family members within the same household, can selectively record digital content particular to their choosing while not inhibiting other individuals from doing the same. This provides significant flexibility and enhances the user experience, since each individual can tailor their viewing as desired.
DVI technology allows, inter alia, for the seamless integration of digital TV and digital-based devices with analog devices, such as analog televisions. Accordingly, if the user possesses an analog monitor, the DVI selectively converts the otherwise digital signal to the analog domain. Accordingly, the user (and manufacturer) need not selectively tailor their equipment to a particular domain.
This equipment may be leased from the content/network operator, or alternatively purchased “retail” from a third party manufacturer. Clearly, it is desired to have programming and software applications distributed by the network operator (or third-party content provider) be compatible with the hardware/software environments of these CPE, thereby avoiding situations where a downloaded content or application does not function properly, which can greatly add to user frustration.
Video-On-Demand (VOD)
Providing “on-demand” (OD) services, such as video on-demand or VOD, is also well known in the prior art. In a typical configuration, the VOD service makes available to its users a selection of multiple video programs that they can choose from and watch over a network connection with minimum setup delay. At a high level, a VOD system consists of one or more VOD servers that store the relevant content; one or more network connections that are used for program selection and program delivery; and customer premises equipment (CPE) to receive, decode and present the video on a display unit. In a cable network, the content is typically distributed over a Hybrid Fiber Coaxial (HFC) network.
Depending on the type of content made available and rate structure for viewing, a particular VOD service could be called “subscription video-on-demand (SVOD)” that gives customers on-demand access to the content for a flat monthly fee, “free video-on-demand (FVOD)” that gives customers free on-demand access to some content, “movies on-demand” where VOD content consists of movies only, and so forth. Many of these services, although referred to by names different than VOD, still share many of the same basic attributes including storage, network and decoder technologies.
Just as different varieties of VOD service offerings have evolved over time, several different network architectures have also evolved for deploying these services. These architectures range from fully centralized (e.g., VOD servers at a central location) to fully distributed (e.g., multiple copies of content distributed on VOD servers very close to customer premises), as well as various other network architectures there between. Since most cable television networks today consist of optical fiber towards the “core” of the network which are connected to coaxial cable networks towards the “edge”, VOD transmission network architectures also consist of a mixture of optical fiber and coaxial cable portions.
The CPE for VOD often consists of a digital cable set-top box (DSTB) that provides the functions of receiving cable signals by tuning to the appropriate RF channel, processing the received signal and outputting VOD signals for viewing on a display unit. Such a digital set-top box also typically hosts a VOD application that enables user interaction for navigation and selection of VOD menu.
While the architectural details of how video is transported in the core HFC network can be different for each VOD deployment, each generally will have a transition point where the video signals are modulated, upconverted to the appropriate RF channel and sent over the coaxial segment(s) of the network. Depending on the topology of the individual cable plant, this could be performed at a node, hub or a headend. The coaxial cable portion of the network is variously referred to as the “access network” or “edge network” or “last mile network.”
In U.S. cable systems for example, downstream RF channels used for transmission of television programs are 6 MHz wide, and occupy a 6 MHz spectral slot between 54 MHz and 860 MHz. Deployments of VOD services have to share this spectrum with already established analog and digital cable television services. For this reason, the exact RF channel used for VOD service may differ from plant to plant. However, within a given cable plant, all homes that are electrically connected to the same cable feed running through a neighborhood will receive the same downstream signal. For the purpose of managing VOD services, these homes are grouped into logical groups typically called Service Groups. Homes belonging to the same Service Group receive their VOD service on the same set of RF channels.
Emerging Technologies and Challenges
A broad variety of electronic devices have recently been developed to utilize and leverage emerging information delivery capabilities. Increasingly, these devices are being equipped with DVI (and DVR/PVR) technology. The devices often have very different capabilities, and may include e.g., digital set-top boxes (DSTBs), personal computers (PCs), personal digital assistants (PDAs), hand-held computers, “smartphones”, personal media devices (PMDs), etc.
These devices can be operatively coupled to, and placed in communication with, other devices (whether of the same or different configuration), or other network entities such as a central information source or server via various channels. The different capabilities of these electronic devices may result from different purposes, designs, different user configuration, being mobile versus fixed in nature, cost/features, etc., and may include differing encryption support capabilities, conditional access profiles, memory and/or processing capability, video or audio codecs, network interfaces, and so forth. Many of these features, including notably the conditional access (CA), codec, and network interface capabilities, are critical to the proper selection, delivery, and playing of content at the end-user device.
The traditional method of digital compression is the well-known MPEG-2 format. More advanced codecs include H.264 (also known as MPEG-4) and VC-1. H.264 is a high compression digital video codec standard written by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC Moving Picture Experts Group (MPEG) as the product of a collective partnership effort known as the Joint Video Team (JVT). The ITU-T H.264 standard and the ISO/IEC MPEG-4 Part-10 standard (formally, ISO/IEC 14496-10) are highly similar, and the technology is also known as AVC, for Advanced Video Coding. DTV methods of program distribution are also generally more flexible than analog methods. For example, the type of compression may be modified or updated. The compression can be improved when new techniques become available, or they may be customized or optimized for certain applications and attributes such as picture quality, data integrity or transmission delay.
Conditional access (CA) technologies may also be incorporated into the digital encoding of various types of data including audio and video programming. Conditional access can generally be defined as the control of when and how a user may view and use the associated programming or information. Different types of conditional access may be desirable in a network delivery system in order to, e.g., accommodate improvements in the technology as well as different conditional access attributes such as security and category of programming or user access level.
A traditional method of conditional access is known as “Powerkey”. Newer methods of conditional access include Powerkey Book 2, Powerkey Book 3, NDS, ANSI/SCTE 52 2003 (DVS-042), and DigiCipher. These can be implemented using, for example, the so-called “CableCard” plug-in security module access technology. See, e.g., the CableCard-Host interface specification, which defines the interface between a digital cable receiver or STB (Host device) and the CableCard device provided by the MSO/cable operator.
More recently, emerging technologies have focused on downloadable conditional access system (DCAS), which is intended to be implemented in next-generation two-way, cable-ready digital TV sets, set-top boxes and/or other TV-related devices. This “download” approach would enable cable operators to download conditional access software directly to TV sets, set-top boxes and other digital entertainment devices in the subscribers' premises, and would be especially suited to interactive services such as VOD, PVR, etc. This would also obviate the physical CableCard form factor.
End-user devices may also include a variety of interfaces. For example, a set-top box might have an RF tuner in order to receive QAM signals over the cable. A cable modem similarly receives DOCSIS QAM signals over the cable, but on different channels, and hence requires a separate tuning mechanism. Other types of potential interfaces include Ethernet (LAN, WAN, etc.), and even wireless technologies such as satellite, millimeter wave, WiFi (IEEE-802.11), WiMax (IEEE-802.16), and PAN (IEEE-802.15).
As client devices with different codec/compression, conditional access, and/or network interface capabilities are added to a network, the distribution of programming and other information over the network becomes more complex. For example, a video server system within a cable or satellite content network must take into account the compression and conditional access technology available at the receiving system before delivering that programming.
The capabilities of the receiving system must also be taken into account when providing directories of available programming. It is important that only compatible programming is displayed in a programming directory so that users don't attempt to watch programs that are only available in formats that are incompatible with their equipment. This can lead to significant user frustration and loss of satisfaction.
Within the network, content may also be delivered to many devices outside of traditional STBs as well as being delivered to the STBs directly. Each such device may support different encryption and decode abilities.
In some cases, the preferred delivery method may also have to be determined before delivery of the programming. That is, the programming might be delivered by normal “in-band” RF channels, or by packet-based networks such as the Internet (e.g., via a cable modem).
Without the ability to determine the capabilities and network environment of each of the client devices on the network, many of the benefits that arise from the use of DTV, including advanced compression techniques, enhanced conditional access capabilities, and flexibility in choice of delivery channel or mode, will not be fully realized.
A variety of different technologies generally relating to conditional access, codec operation, and network interface capabilities, are evidenced in the prior art. For example, U.S. Pat. No. 6,105,134 to Pinder, et al. issued on Aug. 15, 2000 and entitled “Verification of the source of program information in a conditional access system” discloses a cable television system which provides conditional access to services. The cable television system includes a headend from which service “instances”, or programs, are broadcast and a plurality of set top units for receiving the instances and selectively decrypting the instances for display to system subscribers. The service instances are encrypted using public and/or private keys provided by service providers or central authorization agents. Keys used by the set tops for selective decryption may also be public or private in nature, and such keys may be reassigned at different times to provide a cable television system in which piracy concerns are minimized.
U.S. Pat. No. 6,175,856 to Riddle, issued Jan. 16, 2001 and entitled “Method and apparatus for dynamic selection of compression processing during teleconference call initiation” describes a digital processing system and method which controls selection of a compressor in a communication system. In one embodiment, the method comprises receiving at the digital processing system information from a communication port, which information identifies decompression processing capabilities at a remote processor, and selecting in response to the information a particular compression process for use in compressing data for transmission to the remote processor.
U.S. Pat. No. 6,216,152 to Wong, et al. issued Apr. 10, 2001 and entitled “Method and apparatus for providing plug in media decoders” discloses a method and apparatus for providing plug-in media decoders. Embodiments provide a “plug-in” decoder architecture that allows software decoders to be transparently downloaded, along with media data. User applications are able to support new media types as long as the corresponding plug-in decoder is available with the media data. Persistent storage requirements are decreased because the downloaded decoder is transient, existing in application memory for the duration of execution of the user application. The architecture also supports use of plug-in decoders already installed in the user computer. One embodiment is implemented with object-based class files executed in a virtual machine to form a media application. A media data type is determined from incoming media data, and used to generate a class name for a corresponding codec (coder-decoder) object. A class path vector is searched, including the source location of the incoming media data, to determine the location of the codec class file for the given class name. When the desired codec class file is located, the virtual machine's class loader loads the class file for integration into the media application. If the codec class file is located across the network at the source location of the media data, the class loader downloads the codec class file from the network. Once the class file is loaded into the virtual machine, an instance of the codec class is created within the media application to decode/decompress the media data as appropriate for the media data type.
U.S. Pat. No. 6,256,393 to Safadi, et al. issued on Jul. 3, 2001 and entitled “Authorization and access control of software object residing in set-top terminals” discloses a method for providing authentication, authorization and access control of software object residing in digital set-top terminals creates a fingerprint (“signature”) for each software object, associates each fingerprint with a service tier, encodes each association and creates an association table containing the information and downloads the association table to the digital set-top terminal. In addition, the method utilizes an entitlement management message, sent to each set-top terminal, indicating what software objects the set-top terminal may utilize, and provides a system routine at the digital set-top terminal that is invoked whenever software object is about to be utilized. The entitlement management message contains the access rights given to a particular set-top terminal, which must match the software object's access requirements for the software object to be utilized. The entitlement management message may also contain set-top terminal resource control access rights that a given software object may utilize. When the software object requires the utilization of a set-top resource, a second conditional access routine may be invoked to determine the authorization rights for using the resource. Measures to protect such means are also described. As such the method provides multiple system cable operators (MSO's) with additional capabilities to maintain secure control of features and applications running on their networks and within the associated set-top terminals.
U.S. Pat. No. 6,745,245 to Carpenter issued on Jun. 1, 2004 and entitled “Managing access to set-top box objects using television conditional access system” discloses methods for using a conditional access system to modify access control information maintained at a set-top box or another client system. The access control information regulates the availability of information or entertainment services at the client or controls the ability of scripts executed at the client to access objects defined at the client. The conditional access system can be a conventional conditional access, such as those used by cable television providers, that has been adapted to modify the access control information. The access control information includes multiple entries, each being referenced by a token identifier. The conditional access system transmits a command and an accompanying token to the client to instruct the client how to modify the access control information. The entry that is to be modified is identified by comparing the token with the token identifiers. By modifying access control information in this manner, the entity that operates the conditional access system is capable of regulating the availability of resources or services at the client. For example, a selected level of a tiered information service can be made available to the client.
U.S. Pat. No. 6,799,196 to Smith, issued Sep. 28, 2004 and entitled “On-demand data streaming parceling” describes a method where a client device, or information appliance such as a personal digital assistant, is capable of receiving multimedia data streams from a server. However, due to processing and display capabilities, the client device may not be able to present the complete data stream, or a user may elect to configure the client device not to process data that will unduly reduce the client device's performance. Accordingly, the invention provides a method and apparatus for allowing a server to determine the native, or user selected, capabilities of a client device, such that the server can filter and parse the data into meaningfully presentable data and non-meaningfully presentable data, and then transmit only the meaningfully presentable data to the client device for processing and display. In an alternative embodiment, the server sends the complete data stream to the client device, and the client device filters and parses the data, and then processes only the meaningfully presentable data for display on the client device.
U.S. Pat. No. 6,985,934 to Armstrong. et al. issued Jan. 10, 2006 and entitled “Method and system for providing rich media content over a computer network” describes a method and system for providing rich media content over a computer network. In accordance with the invention, a server on a physical or wireless computer network polls the software, hardware, or appliance of an end user on the network, for the availability of software and/or hardware necessary for the display of rich media content. This polling is transparent to the end user and requires no action on the part of the end user. Based on the client's response, the server sends an appropriately formatted version of the rich media file. The user is not necessarily aware that this transfer is taking place, as it is taking place in the background, while the user is performing other tasks or viewing content other than that which is being transferred. Once the rich media has been transferred in its entirety and stored, or cached, in the local memory of the client, the rich media content is displayed automatically in a designated display area. The user may then be able to manipulate the rich media content without affecting the other content or tasks that were being displayed prior to the display of the rich media content.
United States Patent Publication No. 20020032754 to Logston, et al. published Mar. 14, 2002 entitled “Method and apparatus for profiling in a distributed application environment” and incorporated herein by reference in its entirety, discloses a method and apparatus for deriving and characterizing the resource capabilities of client devices in a distributed application (DA) network environment. In a first aspect of the invention, a method and associated architecture for obtaining client device configuration and resource information are disclosed which incorporate a distributed profiling entity having a server portion and client portion, the client portion being used to facilitate query of the client device, and transfer of device resource and configuration information back to the server portion. This information is later used by the profiling entity to alter and update the distribution of entity components between the server and client device. The client device configuration may also be altered if required. In a second aspect of the invention, a method of scaling the aforementioned distributed profiling entity during both initial download and after initiation is disclosed.
United States Patent Publication No. 20020196939 to Unger, et al. published on Dec. 26, 2002 and entitled “Decoding and decryption of partially encrypted information” discloses an encryption arrangement for multiple encryption of television programs. A system according to embodiments of the present invention multiple encrypts only a portion of the data required for full presentation of a television program to permit coexistence of multiple conditional access encryption systems associated with multiple manufacturer's set-top boxes within a single system. By only encrypting a portion of the program, less bandwidth is consumed than the alternative of multiple encryption of all program data, thus permitting a larger number of programs to be carried over the same bandwidth while permitting coexistence of multiple conditional access systems in a single cable television system.
United States Patent Publication No. 20030021412 to Candelore, et al. published on Jan. 30, 2003 and entitled “Partial encryption and PID mapping” discloses an encryption arrangement for multiple encryption of television programs. A system according to embodiments of the present invention multiple encrypts only a portion of the data required for full presentation of a television program to permit coexistence of multiple conditional access encryption systems associated with multiple manufacturer's set-top boxes within a single system. PID mapping techniques are used to distinguish between multiple encryptions. By only encrypting a portion of the program, less bandwidth is consumed than the alternative of multiple encryption of all program data, thus permitting a larger number of programs to be carried over the same bandwidth while permitting coexistence of multiple conditional access systems in a single cable television system.
United States Patent Publication No. 20040123313 to Koo, et al. published on Jun. 24, 2004 and entitled “Method for updating key in DCATV conditional access system” discloses an invention which properly updates a key in various situations in order to secure liability of a service in a conditional access system for a digital cable television service. A method for updating a key in a conditional access system of a digital cable television service includes the step of receiving a request of changing service from a point of deployment (POD) module of subscriber having bidirectional or simplex receiver, changing a service at the head/end and sending an entitlement management message (EMM) having a changed key from the head/end to the point of deployment (POD) module.
Deficiencies of the Prior Art
Despite the foregoing plethora of prior art relating to CA, codec, and network interface technology, there is a salient need for improved methods and apparatus able to readily identify the different capabilities of two or more heterogeneous client devices on a network during the delivery of digital programming and other information, and make dynamic and effective use of this information. This includes, inter alia, addressing the lack of facility in prior art client or consumer premises devices for dynamically determining available: (i) conditional access system support; (ii) codec support, and (iii) supported network interfaces.
As previously noted, new client or consumer premises devices may utilize any number of different conditional access types, codecs, and/or network interfaces, and hence some mechanism is needed for conveying a device's capabilities to an appropriate network entity, wherein decisions can be made in real time as to how to encrypt content before it is delivered to the device, how to compress/encode it, and over which channels to deliver it. Additionally, user or subscriber expectations must be managed so that electronic program guides (EPGs) or other such listings of available programs contain only those programs or content elements that are compatible with that user's client device.
Such improved methods and apparatus would also ideally be implemented using substantially existing infrastructure, thereby obviating significant modifications or expense in implementing such capability.
Such improved methods and apparatus would further ideally allow for commonalities or other aspects of client device configuration or operation to be identified within the network or segments thereof, so that these commonalities or aspects could be leveraged to provide a benefit, such as in terms of optimizing network operation by reducing bandwidth requirements or loading.
Moreover, these methods and apparatus could be “self-healing” from the standpoint that any errors or deficiencies (in terms of capabilities) within a given network client device could be readily identified and rapidly corrected if desired, thereby avoiding user frustration at being unable to receive and view certain content.